13. CD-ROM Devices

13.1. Model for CD-ROM Devices

  CD-ROM devices permit reading data from a rotating media.  Writing the media 
is not supported.  Data transfer can begin with any of the consecutively 
numbered logical blocks.  Data on CD-ROM devices is addressed the same as 
usual (magnetic) direct-access devices. Some CD-ROM devices support a separate 
information stream (e.g. audio and/or video but referred to as audio in this 
section) transmitted via a connection other than the SCSI Bus. This device 
type defines commands for controlling these other information streams. 

  CD-ROM drives are designed to work with any disc that meets the "Red Book" 
or "Yellow Book" (IEC 908) documents at the current revision level.  Many new 
drives read CD-ROM data discs, digital audio discs, and audio-combined discs 
(i.e. some tracks are audio, some tracks are data).

13.1.1. CD-ROM Media Organization

  The formats written on the CD-ROM and CD-DA (Digital Audio) media require 
special interfacing considerations. 

  NOTE: This section contains a number of terms which have special meanings 
peculiar to CD-ROM technology or that may be unfamiliar to many readers of 
this standard. The glossary (see 13.4.) defines these terms.

  These discs may contain either audio, data or a mixture of the two.  Table 
13-2 shows the format of a audio-combined disc to illustrate the relationship 
between the logical block addresses reported in SCSI and the MSF address 
encoded on the media. 

  NOTE:  The term frame is used in two different ways in the CD-ROM media 
  standard.  The intended meaning can only be determined from the context. 
  Whenever possible, this description replaces the larger data unit with the 
  more familiar term "sector".  The primary exception to this policy is the 
  use of frame when referring to the MSF address.  In the MSF context, one 
  frame (F Field unit) equals one sector.  On a typical two channel CD-DA 
  media, each frame (F Field unit) is played in 1/75th of a second.    

  The physical format defined by the CD-ROM media standards provides 2352 
bytes per sector. For usual computer data applications, 2048 bytes are used 
for user data, 12 bytes for a synchronization field, 4 bytes for a sector 
address tag field and 288 bytes - the auxiliary field - for L-EC (CD-ROM Data 
Mode 1). In less critical applications, the auxiliary field may also be used 
for user data (CD-ROM Data Mode 2). A CD-ROM physical sector size is 2048, 
2336 or 2340 bytes per sector. These values correspond to user data field 
only, user data plus auxiliary data, the 4 byte address tag plus user data 
plus auxiliary data.

  Selection among these options is made by setting the density code field of 
the MODE SELECT block Descriptor. The usual selection is 2048 bytes per 
physical sector via a Density Code setting of 1. (See Table 13-32 CD-ROM 
Density Code Values.)


  This same area of the CD-ROM or CD audio media may store 1/75th of a second 
of 2 channel audio information formatted according to the CD-DA specification. 
(These audio channels are usually the Left and Right components of a stereo 
pair.) An audio only density code value can be used to declare an area of the 
media to be invalid for data operations. 

  Data sectors are addressed by their logical block address relative to the 
first addressable block on the medium which is located at MSF address 
00/02/00.  This MSF address is the logical beginning of medium, and is 
designated logical block zero.

  Logical addressing of CD-ROM information may use any logical block length. 
When the specified logical block length is an exact divisor or integral 
multiple of the selected number of bytes per CD-ROM sector, the device shall 
map one to one the bytes transferred from CD-ROM sectors to the bytes of 
Logical Blocks.  For instance, if 2048 bytes are transferred from each CD-ROM 
sector (specified by the CD-ROM Density Code value, see Table 13-32), and the 
logical block length is 512 bytes, then each CD-ROM sector shall map to 
exactly four logical blocks.  This standard does not define the mapping of 
Logical Block lengths which do not evenly divide or are not exact multiples of 
the selected number of bytes per CD-ROM sector.

  A track may be viewed as a partition of the CD-ROM address space. A CD-ROM 
media contains from one to ninety-nine tracks.  All information sectors of a 
track are required to be of the same type (audio or data) and mode.  Each 
change in the type of information on the disc requires a change in track 
number.  A disc containing both audio and data would have at least two tracks, 
one for audio and one for data.  

  The tracks of a CD media are numbered consecutively with values between 1 
and 99. However, the first information track may have a number greater than 1. 
Tracks have a minimum length of 300 sectors including any transition area that 
is part of a track. 

  The CD-ROM media standards require transition areas between tracks encoded 
with different types of information.  In addition, transition areas may be 
used at the beginning or end of any track.  For audio tracks the transition 
areas are called pause areas.  For data tracks transition areas are called 
pre-gap and post-gap areas.  See Table 13-2 for an example.  The "Red Book" 
and "Yellow Book" documents specify minimum time durations for these areas.  
Maximum time durations are not specified. 

  Transition areas are formatted and the logical address continues to 
increment through transition areas.  Some media (i.e. discs with only one 
track) may not have transition areas.  The means to determine of the location 
of the transition areas is vendor or application specific and is addressed by 
other standards (e.g. ISO 9660).

  CD-ROM is a unique SCSI device in the respect that some logical blocks on a 
disc may not be accessible by all commands.  SEEK commands may be issued to 
any logical block address within the reported capacity of the disc.  READ 
commands cannot be issued to logical blocks that occur in some transition 
areas, or to logical blocks within an audio track.  PLAY commands cannot be 
issued to logical blocks within a data track.   

  The blank verify (BlkVfy) option of the Verify command (15.2.11), for CD-ROM 
devices, shall verify that the addressed blocks are transition area blocks.

  CD-ROM media have lead-in and lead-out areas.  These areas are outside of 
the user accessible area as reported in the READ CD-ROM CAPACITY data.  The 
lead-in area of the media is designated track zero.  The lead-out area is 
designated track 0AAh.  The sub-channel Q in the lead-in track contains a 
table of contents (TOC) of the disc.

  IMPLEMENTORS NOTE: The READ CD-ROM CAPACITY command returns the logical 
  block address of the last block prior to the lead-out area. This location 
  may be in a transition area and therefore not a valid address for read 
  operations. 

  The table of contents gives the absolute MSF location of the first 
information sector of each track.  Control information (audio/data, method of 
audio encoding, etc.) for each track is also given in the TOC.  However, the 
TOC does not distinguish between the different modes of data tracks (i.e. CD-
ROM Data Mode one vs. CD-ROM Data Mode two).  

  The MSF locations of the beginning of data tracks in the TOC are required to 
be accurate, however, the TOC values for audio tracks have a tolerance of plus 
or minus 75 sectors. Information from the TOC can be used to reply to a READ 
CD-ROM CAPACITY command.  When this is done the drive implementor should 
consider the possible tolerances and return a value which allows access to all 
information sectors.

  An index is a partition of a track.  Pre-gap areas are encoded with an index 
value of zero.  Pause areas at the beginning of audio tracks are also encoded 
with an index value of zero.  The first information sector of a track has 
index value of one.  Consecutive values up to 99 are permitted.  Index 
information is not contained in the TOC.  Not all sectors are encoded with the 
index value in the Q-sub- channel data (the requirement is 9 out of 10).  A 
sector without an index value is presumed to have the same index as the 
preceding sector.

  Tracks and indexes are not defined to be any particular length. (Except for 
a minimum track length of 300 sectors.)   A CD disc may be created with a 
single information track with a single index or with 99 information tracks 
each with 99 indexes.

  The sub-channel information which is part of each sector includes a track 
relative MSF location value giving the distance from the first information 
sector of the track. On the media this value decreases during the pre-gap area 
(sectors with index values of 0) and increases for the rest of the track. The 
data returned by the READ SUB-CHANNEL command with MSF bit set to zero, 
converts this to a track relative logical block address (TRLBA). The TRLBA is 
continually increasing over the whole track and pre-gap areas shall return 
negative values. When the MSF bit in the Read Sub-channel command is set to 
one, the MSF track relative location value from the media is reported without 
change.




13.1.2. CD-ROM Physical Data Format

  The physical format of CD-ROM and CD-DA media uses a smaller unit of 
synchronization than the more familiar magnetic or optical recording systems. 
The basic data stream synchronization unit is a small frame.  This is not the 
same large frame (sector) as referred to in the MSF unit.  Each small frame 
consists of 588 bits.  A sector on CD-ROM media consists of 98 small frames.

  A CD-ROM small frame consists of:
  1  Synchronization pattern   (24+3 bits)
  1  Byte of Sub-channel Data  (14+3 bits)
  24 Bytes of Data             (24 x (14+3) bits)
  8  Bytes of CIRC code        (8 x (14+3) bits)       Total: 588 bits.

  Data, sub-channel and CIRC bytes are encoded with an eight-to-fourteen bit 
code then three merging bits are added.  The merging bits are chosen to 
provide minimum low frequency signal content and optimize phase lock loop 
performance. 

13.1.2.1. Frame Format for Audio
  Each small frame of an audio track on a two channel CD-DA or CD-ROM media 
consists of six digitized 16 bit samples of each audio channel. These 24 bytes 
of data are combined with a synchronization pattern, CIRC bytes and a sub-
channel byte to make a frame. Each frame takes approximately 136.05 uS to 
play. This gives a sampling rate of 44.1 KHz for each channel. The sub-channel 
information creates the higher level sector grouping for audio tracks.

13.1.2.2. Sector Format for Data
  The data bytes of 98 small frames comprise the physical unit of data which 
is referred to as a sector.  (98 small frames times 24 bytes per small frame 
equal 2352 bytes of data per sector.)   

  A sector which contains CD-ROM Data Mode one data has the following format:

  12 bytes     Synchronization Field
  4 bytes      CD-ROM data header
                  Absolute M Field in bcd format
                  Absolute S Field in bcd format
                  Absolute F Field in bcd format
                  CD-ROM Data Mode Field 
  2048 bytes   User Data Field
  4 bytes      Error Detection Code
  8 bytes      zero
  276 bytes    Layered Error Correction Code











  A sector which contains CD-ROM Data Mode two data has the following format:

  12 bytes     Synchronization Field 
  4 bytes      CD-ROM Data Header
                  Absolute M Field in bcd format
                  Absolute S Field in bcd format
                  Absolute F Field in bcd format
                  CD-ROM Data Mode Field
  2336 bytes   User Data Field (2048 bytes of Mode 1 data plus 288 bytes of 
                  Auxiliary data)

  IMPLEMENTORS NOTE:  Many drives are capable of returning CD-ROM Data Mode 
  one data in a CD-ROM Data Mode two format.  This allows the user to 
  investigate the error detection and error correction codes.  However data 
  encoded as CD-ROM Data Mode two cannot be read as CD-ROM Data Mode one data.

13.1.2.3. Sub-channel Information Formats
  The Sub-channel byte of each frame is assigned one bit to each of the 8 sub-
channels, designated P, Q, R, S, T, U, V, W.  Only sub-channels P and Q are 
defined for CD-ROM media.  The other sub-channel bits are zero.

  Sub-channel P is a simple flag bit that may be used for audio muting control 
and track boundary determination. 

  Sub-channel Q has a higher level of structure. All the sub-channel Q bits of 
a sector define the sub-channel Q information block.  (For audio tracks, 
decoding the Q sub-channel is the only way to distinguish sector boundaries.) 

  The sub-channel Q block consists of 98 bits, one bit from each small frame 
in a sector.  Three formats are defined for the sub-channel Q information 
block. The first format provides location information and is defined as 
follows:

  2 bits   Sub-channel Synchronization Field
  4 bits   ADR Field - defines the format
  4 bits   Control field - defines the type of information in this sector.
  8 bits   Track Number (in BCD)
  8 bits   Index Number (in BCD)
  24 bits  Track Relative MSF address 
  8 bits   reserved (0)
  24 bits  Absolute MSF address
  16 bits  CRC error detection code.

  This format is required to exist in at least nine out of ten consecutive 
sectors. 

  The second and third formats are optional.  If used they must exist in at 
least one out of 100 consecutive sectors.  They include the absolute Frame 
byte of the MSF address to provide location information continuity.

  The second format gives the catalog number of the disc (UPC/EAN Bar Code 
number).  This information is constant over the whole media. 



  The third format gives the International-Standard-Recording-Code (ISRC) for 
each track.  The ISRC is defined in DIN-31-621.  This format is not present on 
lead-in or lead-out tracks and may change only after the track number changes.

13.1.3. CD Audio Error Reporting

  PLAY AUDIO commands with the immediate bit set in the audio control mode 
return status as soon as the command has been validated (which may involve a 
seek to the starting address). The playback operation continues and may 
complete without notification to the initiator.  Error termination of audio 
operations shall be reported to the initiator by returning immediate CHECK 
CONDITION status to the next command (except for REQUEST SENSE and INQUIRY.)  
The deferred error sense data error code, 71h (see Table 7-35 and 7.2.14.2.) 
is used to indicate that the error is not due to the current command.

  The status of the play operation may be determined by issuing a REQUEST 
SENSE command.  The sense key is set to NO SENSE and the play operation status 
(see Table 13-20) is reported in the additional sense code qualifier field.

13.1.4. CD-ROM Ready Condition/Not Ready Condition

  The ready condition occurs after a cartridge is inserted and the drive has 
performed its initialization tasks.  These may include reading the table of 
contents from the media.

  A not ready condition may occur for the following reasons:  
  (1) There is no cartridge inserted.
  (2) The drive is unable to load or unload the cartridge.
  (3) The drive is unable to recover the table of contents.
  (4) The controller cannot select the drive.  

13.1.5. CD-ROM Address Reporting Formats (MSF Bit)

  Several CD-ROM specific commands can report addresses either in logical or 
in MSF format (Table 13-1).  The READ HEADER, READ SUB-CHANNEL and READ TABLE 
OF CONTENTS commands have this feature.

  An MSF bit of zero requests that the logical block address format be used 
for the CD-ROM absolute address field or for the offset from the beginning of 
the current track expressed as a number of logical blocks in a CD-ROM track 
relative address field.  This track relative logical block address (TRLBA) 
value is reported as a negative value in twos-complement notation for 
transition areas that have decreasing MSF encoded relative addresses.

  An MSF bit of one requests that the MSF format be used for these fields.  In 
certain transition areas the relative MSF addresses are decreasing positive 
values.  The absolute MSF addresses are always increasing positive values (see 
entry in 13.4).







                         Table 13-1: MSF Address Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 1   |                           M Field                                     |
-----|-----------------------------------------------------------------------|
 2   |                           S Field                                     |
-----|-----------------------------------------------------------------------|
 3   |                           F Field                                     |
==============================================================================


  The M, S, and F fields are expressed as binary numbers.  The values match 
those on the media except for the encoding.  The ratios of M field units to S 
field units and S field units to F field units is reported in the mode 
parameters page (see 13.3.3).

13.1.6. Sensing Support for CD-Audio Commands. 

  If any commands related to audio operations are implemented then the PLAY 
AUDIO command shall be implemented to allow a method for the initiator to 
determine if audio operations are supported.  A target responding to a PLAY 
AUDIO command which has a transfer length of zero with CHECK CONDITION status 
and setting the sense key to ILLEGAL REQUEST does not support audio play 
operations. 

  NOTE: The PLAY AUDIO command may be implemented without support for any of 
  the other audio operations commands. 

  Table 13-2 gives an example of a disc layout.





















                Table 13-2: Example Mixed Mode CD-ROM Disc Layout

The logical addresses given below assume a block length of 2048, 2336 or 2340 
bytes.  For block lengths of 1024, 512 or 256 multiply all values given in the 
SCSI Address columns by 2, 4 or 8 respectively.

               SCSI            /--- Sub-channel Information ----\  
              Address         /                                  \
          Logical  Track     Absolute  Track  Track    Sector   Mode  CD-ROM
          Address  Relative  MSF       and    Relative is Info Audio  Data 
Block    (decimal) Logical   Address   Index  MSF      or is   or     Mode 
Description        Address    (1)             Address  Pause   Data   (2)
-----------------------------------------------------------------------------
Lead-In                     
Area (3)     ---     ---     ---        0/-     ---     ---    Audio   ---
                            
Pre-gap (3)  ---     ---    00/00/00    1/0   00/02/00  Pause  Data    Null
                            
1st Trk     0000      0     00/02/00    1/1   00/00/00  Info   Data    L-EC  
Data         (5)              (4)  
                            
2nd Trk     6000      0     01/22/00    2/1   00/00/00  Info   Data    L-EC  
Data         (5)              (4)

            7500    1500    01/42/00    2/2   00/20/00  Info   Data    L-EC
                            
Post-gap    9000    3000    02/02/00    2/3   00/40/00  Pause  Data    Null
                            
Pause-      9150    -150    02/04/00    3/0   00/02/00  Pause  Audio   ---
Silence              (9)                        (8)
         
3rd Trk     9300      0     02/04/00    3/1   00/00/00  Info   Audio   ---
Audio        (7)               (6) 

           11400    2250    02/34/00    3/2   00/30/00  Info   Audio   ---

Track 4    21975      0     04/53/00    4/1   00/00/00  Info   Audio   ---
Audio        (7)               (6)

Pre-gap    30000    -225    06/40/00    5/0   00/03/00  Pause  Audio   ---  
Part 1               (9)

Pre-gap    30075    -150    06/41/00    5/0   00/02/00  Pause  Data    Null
Part 2

Track 5    30225      0     06/43/00    5/1   00/00/00  Info   Data    L-EC
Data

Last      263999  233774    58/39/74    5/1   51/56/74  Info   Data    L-EC
Info       (10) 

Post-gap    ---   233775    58/40/00    5/2   51/57/00  Pause  Data    Null
   
Lead-out  264000      0     58/42/00   AA/1   00/00/00  Pause  Audio   --- 
track      (11)               (12)     (13)   

  Notes for Table 13-2:
  (1) Absolute MSF address repeated in the header field of data blocks.
  (2) The CD-ROM Data Mode is stored in the header of data tracks. This 
indicates that the block is part of a data pre-gap or post-gap (null), that 
this a data block using the auxiliary field for L-EC symbols (ECC - CD-ROM 
Data Mode one), or that this is a data block using the auxiliary field for 
user data (CD-ROM Data Mode two).
  (3) Table of contents information is stored in the sub-channel of lead-in 
area. The lead-in area is coded as track zero. Track zero and the initial 150 
sector pre-gap (or audio pause) are not accessible with logical addressing.
  (4) Value stored in table of contents with zero tolerance.
  (5) Exact value returned by READ TOC command.
  (6) Value stored in table of contents plus or minus 75 sectors.
  (7) Value returned by READ TOC command plus or minus 75 blocks.
  (8) Track relative MSF value decreases to 0 in pre-gap areas.
  (9) Track relative logical addresses are negative in the pre-gap areas.  
Pre-gap areas have index values of zero.
  (10) Minimum value returned by READ CD-ROM CAPACITY - Exact value depends on 
encoding of this track and the lead out track and whether this is derived from 
the TOC data.
  (11) Value returned by READ TOC command - exact if lead-out track is encoded 
as data, or plus or minus 75 blocks if encoded as audio.
  (12) Value stored in table of contents -  exact if lead-out track is coded 
as data, or plus or minus 75 blocks if coded as audio.
  (13) Lead-out track number is defined as 0AAh. 





























  13.1.7. Error Reporting

  If any of the following conditions occur during the execution of a command 
the target shall return CHECK CONDITION status.  The appropriate sense key and 
additional sense code should be set.  The following table illustrates some 
error conditions and the applicable sense keys.  The table does not provide an 
exhaustive enumeration of all conditions that may cause the CHECK CONDITION 
status.

Condition                                         Sense Key
----------------------------------------------    ----------------------------
Invalid logical block address                     ILLEGAL REQUEST

Unsupported option requested                      ILLEGAL REQUEST

Target reset or medium change since
last command from this initiator                  UNIT ATTENTION

Self diagnostic failed                            HARDWARE ERROR

Unrecovered read error                            MEDIUM ERROR
                                                  HARDWARE ERROR

Recovered read error                              RECOVERED ERROR

Overrun or other error that might
be resolved by repeating the command              ABORTED COMMAND

Attempt to read a blank block.                    BLANK CHECK

Attempt to play a data block as audio.            BLANK CHECK


  In the case of an invalid logical block address, the sense data information 
field shall be set to the logical block address of the first invalid address.

  In the case of an attempt to read a blank or previously unwritten block, the 
sense data information field shall be set to the logical block address of the 
first blank block encountered.  The data read up to that block shall be 
transferred.

  There are other special error situations for CD-ROM devices. In the 
following cases the sense key shall be set to BLANK CHECK and the additional 
sense code set to END OF USER AREA ENCOUNTERED ON THIS TRACK. 
  (1) A post-gap area is encountered. (i.e. a block with CD-ROM Data Mode 0.)
  (2) A pre-gap area is encountered. (i.e. a block with index equal to 0.)
  (3) The information type (data vs. audio) changes. 

  When not performing audio playback, if the logical block address requested 
is not within a data track the command shall be terminated with CHECK 
CONDITION status.  The sense key shall be set to BLANK CHECK and the 
additional sense code set to ILLEGAL MODE FOR THIS TRACK.  This applies to 
audio-combined and audio media.   


13.2. Commands for CD-ROM Devices

  The commands for CD-ROM devices shall be as shown in Table 13-3, and 13-4.

                      Table 13-3: Commands for CD-ROM Devices(1)

==============================================================================
                                Operation
Command Name                       Code   Type    Section  
------------------------------------------------------------------------------
CHANGE DEFINITION                  40h      O      7.2.1 
COMPARE                            39h      O      7.2.2
COPY                               18h      O      7.2.3
COPY AND VERIFY                    3Ah      O      7.2.4
INQUIRY                            12h      M      7.2.5
LOCK/UNLOCK CACHE                  36h      O      8.2.2
LOG SELECT                         4Ch      O      7.2.6
LOG SENSE                          4Dh      O      7.2.7
MODE SELECT(6)                     15h      O      7.2.8
MODE SELECT(10)                    55h      O      7.2.9
MODE SENSE(6)                      1Ah      O      7.2.10
MODE SENSE(10)                     5Ah      O      7.2.11
PAUSE/RESUME                       4Bh      O     13.2.1
PLAY AUDIO(10)                     45h      O*    13.2.2
PLAY AUDIO(12)                     A5h      O*    13.2.3
PLAY AUDIO MSF                     47h      O*    13.2.4
PLAY AUDIO TRACK/INDEX             48h      O*    13.2.5
PLAY TRACK RELATIVE(10)            49h      O*    13.2.6
PLAY TRACK RELATIVE(12)            A9h      O*    13.2.7
PRE-FETCH                          34h      O      8.2.3
PREVENT/ALLOW MEDIUM REMOVAL       1Eh      O      8.2.4
READ(6)                            08h      O      8.2.5
READ(10)                           28h      M      8.2.6
READ(12)                           A8h      O     15.2.4
READ BUFFER                        3Ch      O      7.2.12
READ CD-ROM CAPACITY               25h      M     13.2.8 
READ HEADER                        44h      O     13.2.9 
READ LONG                          3Eh      O      8.2.9  
READ SUB-CHANNEL                   42h      O     13.2.10
READ TOC                           43h      O     13.2.11
RECEIVE DIAGNOSTIC RESULTS         1Ch      O      7.2.13
RELEASE                            17h      M      8.2.11
REQUEST SENSE                      03h      M      7.2.14
RESERVE                            16h      M      8.2.12
REZERO UNIT                        01h      O      8.2.13
==============================================================================

  Key: M  =  Command implementation is mandatory.
       O  =  Command implementation is optional.
       *  =  If any of the PLAY AUDIO commands (as indicated by an * in the 
           'Type' column in Table 13-3) are implemented, the PLAY AUDIO 
           command shall be implemented by the target.



                      Table 13-4: Commands for CD-ROM Devices(2)

==============================================================================
                                Operation
Command Name                       Code   Type    Section     
------------------------------------------------------------------------------
SEARCH DATA EQUAL(10)              31h      O      8.2.14.1
SEARCH DATA EQUAL(12)              B1h      O     15.2.8
SEARCH DATA HIGH(10)               30h      O      8.2.14.2
SEARCH DATA HIGH(12)               B0h      O     15.2.8
SEARCH DATA LOW(10)                32h      O      8.2.14.3
SEARCH DATA LOW(12)                B2h      O     15.2.8
SEEK(6)                            0Bh      O      8.2.15
SEEK(10)                           2Bh      O      8.2.15
SEND DIAGNOSTIC                    1Dh      M      7.2.15
SET LIMITS(10)                     33h      O      8.2.16
SET LIMITS(12)                     B3h      O     15.2.9
START STOP UNIT                    1Bh      O      8.2.17
SYNCHRONIZE CACHE                  35h      O      8.2.18
TEST UNIT READY                    00h      M      7.2.16
VERIFY(10)                         2Fh      O     15.2.11
VERIFY(12)                         AFh      O     15.2.12
WRITE BUFFER                       3Bh      O      7.2.17
==============================================================================

  Key: M  =  Command implementation is mandatory.
       O  =  Command implementation is optional.


  The following command codes are vendor specific:  02h, 05h, 06h, 09h, 0Ch, 
0Dh, 0Eh, 0Fh, 10h, 11h, 13h, 14h, 19h, 20h, 21h, 22h, 23h, 24h, 26h, 27h, 
29h, and C0h through FFh.  All remaining command codes for CD-ROM devices are 
reserved for future standardization.






















13.2.1. PAUSE RESUME Command

                            Table 13-5: PAUSE RESUME Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (4Bh)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |                     Reserved               |
-----|-----------------------------------------------------------------------|
 2   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 3   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 4   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 5   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 8   |                           Reserved                           | Resume |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The PAUSE RESUME command (Table 13-5) requests that the device stop or start 
an audio play operation.  This command is used with PLAY AUDIO commands issued 
while the immediate bit is set to one.

  A resume bit of zero causes the drive to enter the hold track state with the 
audio output muted after the current block is played.   A resume bit of one 
causes the drive to release the pause and begin play at the block following 
the last block played.

  If an audio play operation cannot be resumed and the resume bit is one, the 
command is terminated with CHECK CONDITION status. If the resume bit is zero 
and an audio play operation cannot be paused, (no audio play operation has 
been requested, or the requested audio play operation has been completed) the 
command is terminated with CHECK CONDITION status.   

  It shall not be considered an error to request a pause when a pause is 
already in effect or to request a resume when a play operation is in progress.








13.2.2. PLAY AUDIO(10) Command

                            Table 13-6: PLAY AUDIO(10) Command 

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (45h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |             Reserved              | RelAdr |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                                                                 ---|
 3   |                                                                       |
-----|---                 Starting Logical Block Address                  ---|
 4   |                                                                       |
-----|---                                                                 ---|
 5   |                                                                  (LSB)|
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   | (MSB)                                                                 |
-----|---                        Transfer Length                          ---|
 8   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The PLAY AUDIO command (Table 13-6) requests the target to begin an audio 
playback operation. The command function (Immed and SOTC bits) and the output 
of audio signals shall be as specified by the settings of the mode parameters 
(see 13.3.3.1.).

  If any commands related to audio operations are implemented then the PLAY 
AUDIO command shall be implemented to allow a method for the initiator to 
determine if audio operations are supported.  A target responding to a PLAY 
AUDIO command which has a transfer length of zero with CHECK CONDITION status 
and setting the sense key to ILLEGAL REQUEST does not support audio play 
operations. 

  The logical block address field specifies the logical block at which the 
audio playback operation shall begin.

  The transfer length field specifies the number of contiguous logical blocks 
that shall be played. A transfer length field of zero indicates that no audio 
operation shall occur.  This condition shall not be considered as an error.  







  If the logical block length is not equal to the sector size the target may 
adjust the starting logical block address and the transfer length. In such 
case, it is recommended that the target start the audio play operation with 
the beginning of a sector whenever the starting logical address falls within 
that sector (MSF unit). If the requested transfer length causes the end of an 
audio play operation to fall within a sector the target may continue the play 
operation through the end of that sector.

  If the starting address is not found, if the address is not within an audio 
track, or if a not ready condition exists, the command shall be terminated 
with CHECK CONDITION status. 

  If the CD-ROM information type (data vs. audio) changes the sense key shall 
be set to BLANK CHECK and the additional sense code set to END OF USER AREA 
ENCOUNTERED ON THIS TRACK. 

  If the logical block address requested is not within an audio track the 
command shall be terminated with CHECK CONDITION status.  The sense key shall 
be set to BLANK CHECK and the additional sense code set to ILLEGAL MODE FOR 
THIS TRACK.



































13.2.3. PLAY AUDIO(12) Command 

                            Table 13-7: PLAY AUDIO(12) Command 

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (A5h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |               Reserved            | RelAdr |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                                                                 ---|
 3   |                                                                       |
-----|---                      Logical Block Address                      ---|
 4   |                                                                       |
-----|---                                                                 ---|
 5   |                                                                  (LSB)|
-----|-----------------------------------------------------------------------|
 6   | (MSB)                                                                 |
-----|---                                                                 ---|
 7   |                                                                       |
-----|---                        Transfer Length                          ---|
 8   |                                                                       |
-----|---                                                                 ---|
 9   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 10  |                             Reserved                                  |
-----|-----------------------------------------------------------------------|
 11  |                           Control                                     |
==============================================================================


  The PLAY AUDIO(12) command (Table 13-7) requests the target to begin an 
audio playback operation. The command function (Immed and SOTC bits) and the 
output of audio signals shall be as specified by the settings of the mode 
parameters (see 13.3.3.1.). See the PLAY AUDIO(10) command for a description 
of the fields in this command.
















13.2.4. PLAY AUDIO MSF Command

                      Table 13-8: PLAY AUDIO MSF Command

==============================================================================
     |   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (47h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |                  Reserved                  |                 
-----|-----------------------------------------------------------------------|
 2   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 3   |                           Starting M Field                            |
-----|-----------------------------------------------------------------------|
 4   |                           Starting S Field                            |
-----|-----------------------------------------------------------------------|
 5   |                           Starting F Field                            |
-----|-----------------------------------------------------------------------|
 6   |                           Ending M Field                              |
-----|-----------------------------------------------------------------------|
 7   |                           Ending S Field                              |
-----|-----------------------------------------------------------------------|
 8   |                           Ending F Field                              |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The PLAY AUDIO MSF command (Table 13-8) requests the target to begin an 
audio playback operation.  The command function (Immed and SOTC bits) and the 
output of audio signals shall be as specified by the settings of the mode 
parameters (see 13.3.3.1.).

  The starting M field, the starting S field, and the starting F field specify 
the absolute MSF address at which the audio play operation shall begin.  The 
ending M field, the ending S field, and the ending F field specify the 
absolute MSF address at which the audio play operation shall end.  All 
contiguous audio sectors between the starting and the ending MSF address shall 
be played.

  A starting MSF address equal to an ending MSF address causes no audio play 
operation to occur.  This shall not be considered an error.  If the starting 
MSF address is less than the ending MSF address, the command shall be 
terminated with CHECK CONDITION status.  The sense key shall be set to ILLEGAL 
REQUEST.

  If the starting address is not found, or if the address is not within an 
audio track, or if a not ready condition exists, the command shall be 
terminated with CHECK CONDITION status.  See 13.1.7 for a description of error 
reporting information.



13.2.5. PLAY AUDIO TRACK INDEX Command

                   Table 13-9: PLAY AUDIO TRACK INDEX Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (48h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |                  Reserved                  |
-----|-----------------------------------------------------------------------|
 2   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 3   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 4   |                           Starting Track                              |
-----|-----------------------------------------------------------------------|
 5   |                           Starting Index                              |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   |                           Ending Track                                |
-----|-----------------------------------------------------------------------|
 8   |                           Ending Index                                |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The PLAY AUDIO TRACK INDEX command (Table 13-9) requests the target to begin 
an audio play operation. The command function (Immed and SOTC bits) and the 
output of audio signals shall be as specified by the settings of the mode 
parameters (see 13.3.3.1.).

  The starting track field specifies the track number of the starting audio 
track.  The starting index field specifies the index number within the track 
at which the audio play operation shall begin.  

  The ending track field specifies the track number of the ending audio track.  
The ending index field specifies the index number within the track after which 
the audio play operation shall stop.  The audio play operation shall terminate 
at the last block with an index number equal to the ending index. All 
contiguous audio sectors between the starting and the ending address shall be 
played.

  If the starting address is less than the ending address, the command shall 
be terminated with CHECK CONDITION status.  The sense key shall be set to 
ILLEGAL REQUEST.

  If the starting address is not found, or if the address is not within an 
audio track, or if a not ready condition exists, the command shall be 
terminated with CHECK CONDITION status.  See 13.1.7 for a description of error 
reporting information.

  IMPLEMENTORS NOTE:  Valid values for the track and index fields are 1 to 99. 
  A starting index value of one specifies that playback is to start with the 
  first audio sector of the track following the (optional) pause.  A last 
  index value of 99 specifies that playback continues through the last sector 
  of the track. 

  If the ending track is greater than the last information track on the media, 
the playback shall continue until the last track is complete.  If the ending 
index is greater than the largest index value on the ending track, the 
playback shall continue until this track is complete then terminate.  These 
conditions shall not be considered errors.

  If the starting index is greater than the largest index value on the 
starting track, and the stop on track crossing (SOTC) bit of the audio control 
MODE SELECT parameters page (see 13.3.3.1) is zero, the playback operation 
shall start at the beginning of the next track.  This situation is not an 
error.

  If the starting index is greater than the largest index value on the 
starting track, and the stop on track crossing (SOTC) bit of the audio control 
MODE SELECT parameters page (see 13.3.3.1) is one, the playback shall not 
begin. The target shall return CHECK CONDITION, and the sense key shall be set 
to ILLEGAL REQUEST.

  IMPLEMENTORS NOTE: The operation of the SOTC bit described above comes about 
  because the user may not be able to determine the largest index value on a 
  track, either from the table of contents or by other means. The SOTC bit one 
  case allows the user to determine the largest index. The SOTC bit zero case 
  allows the user to set up play operations without complete knowledge of the 
  media layout. 

























13.2.6. PLAY AUDIO TRACK RELATIVE(10) Command

                  Table 13-10: PLAY AUDIO TRACK RELATIVE(10) Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (49h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |                  Reserved                  |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                                                                 ---|
 3   |                                                                       |
-----|---              Track Relative Logical Block Address               ---|
 4   |                                                                       |
-----|---                                                                 ---|
 5   |                                                                  (LSB)|
-----|-----------------------------------------------------------------------|
 6   |                           Starting Track                              |
-----|-----------------------------------------------------------------------|
 7   | (MSB)                                                                 |
-----|---                        Transfer Length                          ---|
 8   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The PLAY AUDIO TRACK RELATIVE command (Table 13-10) requests that the device 
begin an audio playback operation.  The starting address is specified as a 
track relative logical block address within the specified starting track. The 
command function (Immed and SOTC bits) and the output of audio signals shall 
be as specified by the settings of the mode parameters (see 13.3.3.1.).

  The starting track field specifies the track number of the starting audio 
track.  

  The track relative logical block address (TRLBA) field specifies the two's 
complement starting logical block address relative to the beginning of the 
first sector on the track with an index value of one. Negative values indicate 
a starting location within the audio pause area at the beginning of the 
requested track.

  The transfer length field specifies the number of contiguous logical blocks 
that shall be output as audio data.  A transfer length field of zero indicates 
that no audio playback operation shall occur.  This condition shall not be 
considered as an error.  Any other value indicates the number of logical 
blocks that shall be output.





  If the logical block length is not equal to the sector size the target may 
adjust the starting logical block address and the transfer length. In such 
case, it is recommended that the target start the audio play operation with 
the beginning of a sector whenever the starting logical address falls within 
that sector (MSF unit). If the requested transfer length causes the end of an 
audio play operation to fall within a sector the target may continue the play 
operation through the end of that sector.

  If the starting address is not found, or if the address is not within an 
audio track, or if a not ready condition exists, the command is terminated 
with CHECK CONDITION status.  See 13.1.7 for a description of error reporting 
information.

13.2.7. PLAY AUDIO TRACK RELATIVE(12) Command

                  Table 13-11: PLAY AUDIO TRACK RELATIVE(12) Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (A9h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |                  Reserved                  |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                                                                 ---|
 3   |                                                                       |
-----|---              Track Relative Logical Block Address               ---|
 4   |                                                                       |
-----|---                                                                 ---|
 5   |                                                                  (LSB)|
-----|-----------------------------------------------------------------------|
 6   | (MSB)                                                                 |
-----|---                                                                 ---|
 7   |                                                                       |
-----|---                        Transfer Length                          ---|
 8   |                                                                       |
-----|---                                                                 ---|
 9   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 10  |                           Starting Track                              |
-----|-----------------------------------------------------------------------|
 11  |                           Control                                     |
==============================================================================


  The PLAY AUDIO TRACK RELATIVE(12) command (Table 13-11) requests that the 
device begin an audio playback operation. The command function (Immed and SOTC 
bits) and the output of audio signals shall be as specified by the settings of 
the mode parameters (see 13.3.3.1.). See the PLAY AUDIO TRACK RELATIVE(10) 
command for a description of the fields in this command.



13.2.8. READ CD-ROM CAPACITY Command

                     Table 13-12: READ CD-ROM CAPACITY Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (25h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |             Reserved              | RelAdr |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
- - -|- -                                                                 - -|
 3   |                                                                       |
- - -|- -                        Logical Block Address                    - -|
 4   |                                                                       |
- - -|- -                                                                 - -|
 5   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 8   |                           Reserved                           |  PMI   |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The READ CD-ROM CAPACITY command (Table 13-12) provides a means for the 
initiator to request information regarding the capacity of the logical unit.

  IMPLEMENTORS NOTE:  This command has the same operation code (25h) as the 
  READ CAPACITY command (see 8.2.7).  The general function is the same but the 
  exact definitions of the returned logical block address is modified to allow 
  returning a possibly inexact value (but one with a known error bound) based 
  on CD-ROM table of contents data.  For many CD-ROM devices, this 
  implementation allows a quicker response.

  A partial medium indicator (PMI) bit of zero indicates that the information 
returned in the READ CD-ROM CAPACITY data shall be the logical block address 
and block length (in bytes) of the last valid logical block of the logical 
unit for seek operations. The logical block address returned shall be greater 
than or equal to the last readable or playable block. If greater, this address 
may be in a transition area beyond the last valid logical block for read or 
audio play operations. The value returned shall not be not be more than 75 
sectors (MSF units) greater than the logical block address of the last 
readable or playable block. (This value arises because the CD-ROM Table of 
Contents lead-out track location  has a +/- 75 sector tolerance when the lead-
out track is encoded as an audio track.) The logical block address in the 
command descriptor block shall be set to zero for this option.



  A PMI bit of one indicates that the information returned shall be the 
logical block address and block length (in bytes) of the last logical block 
address after which a substantial delay in data transfer will be encountered. 
This logical block address shall be greater than or equal to the logical block 
address specified in the command descriptor block.  On CD-ROM media, this is 
interpreted to be the last readable or playable logical block of the 
information area containing or immediately following the specified logical 
block address.  

  IMPLEMENTORS NOTE: This option may take several seconds to complete on CD-
  ROM media.

  See 8.1.10 for a description of the relative address bit (RelAdr).

  Eight bytes of READ CD-ROM CAPACITY data (Table 13-13) shall be sent during 
the DATA IN phase of the command.

                      Table 13-13: READ CAPACITY Data Format

==============================================================================
Byte |                        Description                                    |
==============================================================================
 0   | (MSB)                                                                 |
- - -|- -                        Logical Block Address                    - -|
 3   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 4   | (MSB)                                                                 |
- - -|- -                        Block Length                             - -|
 7   |                                                                 (LSB) |
==============================================================================

























13.2.9. READ HEADER Command

                             Table 13-14: READ HEADER Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                           Operation Code (44h)                        |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |         Reserved         |  MSF   |Reserved|
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                                                                 ---|
 3   |                                                                       |
-----|---                        Logical Block Address                    ---|
 4   |                                                                       |
-----|---                                                                 ---|
 5   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   | (MSB)                                                                 |
-----|---                        Allocation Length                        ---|
 8   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The READ HEADER command (Table 13-14) requests that the device return the 
CD-ROM data block address header (Table 13-15) of the requested logical block. 

  See 13.1.5. for a description of the MSF bit.

  The logical block address field specifies the logical block at which the 
read header operation shall begin.

  See the READ command for exception handling.  If the logical block size is 
other than the physical block size, it shall be mapped into the appropriate 
physical block from which the data would have been read. 














                       Table 13-15: READ HEADER Data Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                       CD-ROM Data Mode                                |
-----|-----------------------------------------------------------------------|
 1   |                          Reserved                                     |
-----|-----------------------------------------------------------------------|
 2   |                          Reserved                                     |
-----|-----------------------------------------------------------------------|
 3   |                          Reserved                                     |
-----|-----------------------------------------------------------------------|
 4   | (MSB)                                                                 |
- - -|- - - -                Absolute CD-ROM Address                  - - - -|
 7   |                                                                 (LSB) |
==============================================================================


  The CD-ROM data mode field specifies the CD-ROM Data Mode of the logical 
blocks in this sector of data.  The values in this field are defined in Table 
13-16.

                        Table 13-16: CD-ROM Data Mode Codes

==============================================================================
CD-ROM          User Data Field Contents   Auxiliary Field Contents
 Mode            (2048 bytes)               (288 bytes)
------------------------------------------------------------------------------
 00h             All bytes zero             All bytes zero
 01h             User Data                  L-EC symbols 
 02h             User Data                  User Data
03h - FFh        Reserved                   Reserved
==============================================================================


  If the MSF bit is zero, the absolute address field gives the logical block 
address of the first logical block in the physical sector where the data for 
the requested logical block address is found.  If the MSF bit is one, the 
absolute address field gives the MSF address of the sector where the data for 
the requested logical block address is found. (See 13.1.5.) 













13.2.10. READ SUB-CHANNEL Command

                       Table 13-17: READ SUB-CHANNEL Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                          Operation Code (42h)                         |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |         Reserved         |  MSF   |Reserved|
-----|-----------------------------------------------------------------------|
 2   |Reserved|  SubQ  |                       Reserved                      |
-----|-----------------------------------------------------------------------|
 3   |                        Sub-channel Data Format                        |
-----|-----------------------------------------------------------------------|
 4   |                               Reserved                                |
-----|-----------------------------------------------------------------------|
 5   |                               Reserved                                |
-----|-----------------------------------------------------------------------|
 6   |                             Track Number                              |
-----|-----------------------------------------------------------------------|
 7   | (MSB)                                                                 |
-----|---                       Allocation Length                         ---|
 8   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 9   |                               Control                                 |
==============================================================================


  The READ SUB-CHANNEL command (Table 13-17) requests that the target return 
the requested sub-channel data plus the state of audio play operations.

  IMPLEMENTORS NOTE:  Sub-channel data returned by this command may be from 
  the last appropriate sector encountered by a current or previous media 
  accessing operation. When there is no current audio play operation, the 
  target may access the media to read the sub-channel data. The target is 
  responsible that the data returned are current and consistent.  For example 
  with sub-channel data format 0, the International Standard Recording Code 
  (ISRC) data reported must have been read from the same track as the reported 
  current position data.

  See 13.1.5. for a description of the MSF bit.

  The Sub Q bit set to one requests the target return the Q sub-channel data. 
The Sub Q bit set to zero requests that no sub-channel data be returned. This 
shall not be considered an error.

  NOTE:  The other bits in this byte are reserved for future standardization 
  when they may be defined to request other sub-channel data.

  The Sub-channel Data Format field specifies the returned Sub Channel Data. 
If this field is 00h, Sub-Q Channel data is returned. If this field is 01h, 
02h or 03h, the requested Sub-Q data item is returned.

                    Table 13-18: Subchannel Data Format Codes

==============================================================================
 Format Code    |   Returned data                                            |
----------------|------------------------------------------------------------|
 00h            |   Sub-Q Channel data                                       |  
----------------|------------------------------------------------------------|
 01h            |   CD-ROM Current Position                                  | 
----------------|------------------------------------------------------------|
 02h            |   Media Catalog Number (UPC/Bar Code)                      |    
----------------|------------------------------------------------------------|
 03h            |   Track International-Standard-Recording-Code (ISRC)       | 
----------------|------------------------------------------------------------|
 04h - EFh      |   Reserved                                                 |
----------------|------------------------------------------------------------|
 F0h - FFh      |   Vendor Specific                                          |
==============================================================================


  The Track Number field specifies the track from which ISRC data is read. 
This field must have a value between 01h and 63h (99bcd), and is valid only 
when the Sub-channel Data Format field is 03h.  In this case, the target 
returns ISRC data for this track.

  The READ SUB-CHANNEL command data formats (Tables 13-19, 13-23. 13-24, and 
13-25) consist of a four-byte header followed by a sub-channel data block.  
The header contains the audio status byte and the sub-channel data length 
field.  If the SUB-Q bit is zero, the target shall not return the sub-channel 
data block, in this case the sub-channel data length is 0.


























                       Table 13-19: Sub-Q Channel Data Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
     |                        Sub-channel Data Header                        |
==============================================================================
 0   |                                Reserved                               |
-----|-----------------------------------------------------------------------|
 1   |                              Audio Status                             |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                     Sub-channel Data Length                     ---|
 3   |                                                                 (LSB) |
==============================================================================
     |                        Sub-Q Channel Data Block                       |
==============================================================================
 4   |                    Sub Channel Data Format code (00h)                 |
-----|-----------------------------------------------------------------------|
 5   |                ADR                |             Control               |
-----|-----------------------------------------------------------------------|
 6   |                             Track Number                              |
-----|-----------------------------------------------------------------------|
 7   |                             Index Number                              |
-----|-----------------------------------------------------------------------|
 8   | (MSB)                                                                 |
- - -|- - - -                 Absolute CD-ROM Address                 - - - -|
 11  |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 12  | (MSB)                                                                 |
- - -|- - - -              Track Relative CD-ROM Address              - - - -|
 15  |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 16  |  MCVal |                       Reserved                               |
-----|-----------------------------------------------------------------------|
 17  | (MSB)                                                                 |
- - -|- - - -            Media Catalog Number (UPC/Bar Code)          - - - -|
 31  |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 32  |  TCVal |                       Reserved                               |
-----|-----------------------------------------------------------------------|
 33  | (MSB)                                                                 |
- - -|- - - -    Track International-Standard-Recording-Code (ISRC)   - - - -|
 47  |                                                                 (LSB) |
==============================================================================


  The audio status field indicates the status of audio play operations.  The 
audio status values are defined in Table 13-20. Audio status values greater 
than zero are returned only to the initiator that requested the last audio 
play operation. Audio status values 13h and 14h return information on previous 
audio operations; they are returned only once after the condition has 
occurred.  If another audio play operation is not requested, the audio status 
returned for subsequent READ SUB-CHANNEL commands is 15h.

                          Table 13-20: Audio Status Codes

==============================================================================
 Status       Description                                                    |
----------|------------------------------------------------------------------|
 00h      |   Audio status byte not supported or not valid                   |
----------|------------------------------------------------------------------|
 11h      |   Audio play operation in progress.                              |
----------|------------------------------------------------------------------|
 12h      |   Audio play operation paused.                                   |
----------|------------------------------------------------------------------|
 13h      |   Audio play operation successfully completed.                   |
----------|------------------------------------------------------------------|
 14h      |   Audio play operation stopped due to error.                     |
----------|------------------------------------------------------------------|
 15h      |   No current audio status to return                              |
==============================================================================


  The Sub-Channel data length specifies the length in bytes of the following 
sub-channel data block.  A sub-channel data length of zero indicates that no 
sub-channel data block is included in the returned data. 

  IMPLEMENTORS NOTE: Usual values for Sub-channel data length are 0, 12, 20, 
  28 and 44 bytes.  Sub-channel data length does not include the Sub Channel 
  Header.

  The Sub-Q Channel data block consists of control data (bytes 4-5), current 
position data (bytes 6 - 15) and identification data (bytes 16 - 47).  The 
control data and current position data is obtained from the Q sub-channel 
information of the current block. Identification data may be reported that was 
obtained from a previous block.  If identification data is reported, the data 
shall be valid for the sector addressed by the current position data. 

  (1) If an audio play operation is proceeding in the background, position 
data for the last sector played shall be reported.
    (2) In other cases, for instance after a READ command, the target may 
either report position data for the last sector processed for that operation 
or may report position data from the sector at the current read head position.

  IMPLEMENTORS NOTE: When the type of information encoded in the Q sub-channel 
  of the current sector is the media catalog number or ISRC; the track, index, 
  and address fields should be extrapolated from the previous sector.

  The ADR field gives the type of information encoded in the Q sub-channel of 
this block, as shown in Table 13-21.








                            Table 13-21: ADR Sub-channel Q Field

==============================================================================
ADR Code      Description
------------------------------------------------------------------------------
 0h           Sub-channel Q mode information not supplied.
 1h           Sub-channel Q encodes current position data. 
                (i.e. track, index, absolute address, relative address.)
 2h           Sub-channel Q encodes media catalog number.
 3h           Sub-channel Q encodes ISRC.
4h - Fh       Reserved
==============================================================================


  The control bits are defined in Table 13-22.

                      Table 13-22: Sub-channel Q Control Bits

==============================================================================
 Bit           equals zero                   equals one             
------------------------------------------------------------------------------
  0       Audio without pre-emphasis    Audio with pre-emphasis  
  1       Digital copy prohibited       Digital copy permitted   
  2       Audio track                   Data track               
  3       Two channel audio             Four channel audio       
==============================================================================


  The track number specifies the current track number.  

  The index number specifies the index number in the current track.

  The absolute CD-ROM address field gives the current location relative to the 
logical beginning of the media.  If the MSF bit is zero, this field is a 
logical block address.  If the MSF bit is one, this field is an absolute MSF 
address. (See 13.1.5.)

  The track relative CD-ROM address field gives the current location relative 
to the logical beginning of the current track.  If the MSF bit is zero, this 
field is a track relative logical block address.  (If the current block is in 
the pre-gap area of a track, this will be a negative value, expressed as a 
twos complement number. See 13.1.5).  If the MSF bit is one, this field is the 
relative MSF address from the Q sub-channel. 

  A media catalog valid (MCVal) bit of one indicates that the media catalog 
number field is valid.  A MCVal bit of zero indicates that the media catalog 
number field is not valid.

  The media catalog number field contains the identifying number of this media 
according to the uniform product code values (UPC/EAN Bar Coding) expressed in 
ASCII. Non-zero values in this field are controlled by the Uniform Product 
Code Council and the European Article Number Council (see Section 2).  A value 
in this field of all ASCII zeros indicates that the media catalog number is 
not supplied.

  The track code valid (TCVal) bit of one indicates that the track ISRC field 
is valid.  A TCVal bit of zero indicates that the track International-
Standard-Recording-Code (ISRC) field is not valid.

  The track ISRC field contains the identifying number of this media according 
to the ISRC standards (DIN-31-621) expressed in ASCII.  

                   Table 13-23: CD-ROM Current Position Data Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
     |                        Sub-channel Data Header                        |
==============================================================================
 0   |                               Reserved                                |
-----|-----------------------------------------------------------------------|
 1   |                             Audio Status                              |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                     Sub-Channel Data Length                     ---|
 3   |                                                                 (LSB) |
==============================================================================
     |                  CD-ROM Current Position Data Block                   |
==============================================================================
 4   |                  Sub Channel Data Format code (01h)                   |
-----|-----------------------------------------------------------------------|
 5   |                ADR                |             Control               |
-----|-----------------------------------------------------------------------|
 6   |                             Track Number                              |
-----|-----------------------------------------------------------------------|
 7   |                             Index Number                              |
-----|-----------------------------------------------------------------------|
 8   | (MSB)                                                                 |
- - -|- - - -                 Absolute CD-ROM Address                 - - - -|
 11  |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 12  | (MSB)                                                                 |
- - -|- - - -              Track Relative CD-ROM Address              - - - -|
 15  |                                                                 (LSB) |
==============================================================================














                  Table 13-24: Media Catalog Number Data Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
     |                        Sub-channel Data Header                        |
==============================================================================
 0   |                               Reserved                                |
-----|-----------------------------------------------------------------------|
 1   |                             Audio Status                              |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                     Sub-Channel Data Length                     ---|
 3   |                                                                 (LSB) |
==============================================================================
     |                   Media Catalog Number Data Block                     |
==============================================================================
 4   |                  Sub Channel Data Format code (02h)                   |
------------------------------------------------------------------------------
 5   |                               Reserved                                |
------------------------------------------------------------------------------
 6   |                               Reserved                                |
------------------------------------------------------------------------------
 7   |                               Reserved                                |
------------------------------------------------------------------------------
 8   |  MCVal |                      Reserved                                |
-----|-----------------------------------------------------------------------|
 9   | (MSB)                                                                 |
- - -|- - - -           Media Catalog Number (UPC/Bar Code)           - - - -|
 23  |                                                                 (LSB) |
==============================================================================


  If Media Catalog Number data is found, the MCVal bit is set to one.  If MCN 
data is not detected, the MCVal bit is set to zero to indicate the Media 
Catalog Number field is invalid.

  IMPLEMENTORS NOTE:  Media Catalog Number data returned by this command with 
  Sub-channel Data Format field code 02h may be from any block which has 
  UPC/Bar Code Q sub-channel data. (This code is constant anywhere in every 
  applicable disc.)













      Table 13-25: Track International Standard Recording Code Data Format

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
     |                       Sub-channel Data Header                         |
==============================================================================
 0   |                               Reserved                                |
-----|-----------------------------------------------------------------------|
 1   |                             Audio Status                              |
-----|-----------------------------------------------------------------------|
 2   | (MSB)                                                                 |
-----|---                     Sub-Channel Data Length                     ---|
 3   |                                                                 (LSB) |
==============================================================================
     |                         Track ISRC Data Block                         |
==============================================================================
 4   |                    Sub Channel Data Format code (03h)                 |
------------------------------------------------------------------------------
 5   |              ADR                  |               Control             |
------------------------------------------------------------------------------
 6   |                             Track Number                              |
------------------------------------------------------------------------------
 7   |                               Reserved                                |
------------------------------------------------------------------------------
 8   |  TCVal |                      Reserved                                |
-----|-----------------------------------------------------------------------|
 9   | (MSB)                                                                 |
- - -|- - - -     Track International-Standard-Recording-Code (ISRC)  - - - -|
 23  |                                                                 (LSB) |
==============================================================================


  If ISRC data is detected, the TCVal bit is set to one.  If ISRC data is not 
detected, the TCVal bit is set to zero to indicate the ISRC field is invalid.
    
  IMPLEMENTORS NOTE: Track ISRC data returned by this command with Sub- 
  Channel Data Format field 03h may be from any block in the specified track 
  which has ISRC data.















13.2.11. READ TOC Command

                           Table 13-26: READ TOC Command

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |                         Operation Code (43h)                          |
-----|-----------------------------------------------------------------------|
 1   | Logical Unit Number      |         Reserved         |  MSF   |Reserved|
-----|-----------------------------------------------------------------------|
 2   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 3   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 4   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 5   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 6   |                           Starting Track                              |
-----|-----------------------------------------------------------------------|
 7   | (MSB)                                                                 |
-----|---                        Allocation Length                        ---|
 8   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 9   |                           Control                                     |
==============================================================================


  The READ TOC command (Table 13-26) requests the target transfers data from 
the table of contents to the initiator.  The format of the data returned is 
specified in Table 13-27.

  See 13.1.5. for a description of the MSF bit.

  The starting track field specifies the starting track number for which the 
data shall be returned.  If this value is zero, the table of contents data 
shall begin with the first track on the medium.  The data is returned in 
contiguous ascending track number order.  

  If the starting track field is not valid for the currently installed medium, 
the command shall be terminated with CHECK CONDITION status.  The sense key 
shall be set to ILLEGAL REQUEST and the additional sense code set to INVALID 
FIELD IN CDB.

  IMPLEMENTORS NOTE: The maximum TOC data length possible on currently 
  available CD-ROM media is 804 bytes, or 100 TOC track descriptors.







                         Table 13-27: READ TOC Data Format 

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   | (MSB)                                                                 |
-----|---                        TOC Data Length                          ---|
 1   |                                                                 (LSB) |
-----|-----------------------------------------------------------------------|
 2   |                           First Track Number                          |
-----|-----------------------------------------------------------------------|
 3   |                           Last Track Number                           |
==============================================================================
     |                         TOC Track Descriptor(s)                       |
==============================================================================
 0   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 1   |              ADR                  |             Control               |
-----|-----------------------------------------------------------------------|
 2   |                           Track Number                                |
-----|-----------------------------------------------------------------------|
 3   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 4   | (MSB)                                                                 |
- - -|- - - -                    Absolute CD-ROM Address              - - - -|
 7   |                                                                 (LSB) |
==============================================================================


  The TOC data block contains a four byte header followed by zero or more TOC 
track descriptors.

  The TOC data length specifies the length in bytes of the following TOC data 
that is available to be transferred during the DATA IN phase. The TOC data 
length value does not include the TOC data length field itself.

  The first track number field indicates the first track number in the table 
of contents.  

  The last track number field indicates the last track number in the table of 
contents before the lead-out track number.

  IMPLEMENTORS NOTE:  The first track number is not required to be one.  A 
  disc may start at any valid track number.  The track numbers between the 
  first track number and the last track number are required to be in 
  contiguous ascending order, except for the lead-out track.

  The ADR field gives the type of information encoded in the Q Sub-channel of 
the block where this TOC entry was found.  The possible ADR values are defined 
in Table 13-21.

  The control field indicates the attributes of the track.  The possible 
control field values are defined in Table 13-22.

  The track number field indicates the track number for which the data in the 
TOC track descriptor is valid.  A track number of 0AAh indicates the track 
descriptor is for the start of the lead-out area.

  The absolute CD-ROM address contains the address of the first block with 
user information for that track number as read from the table of contents.  An 
MSF bit of zero indicates that the absolute CD-ROM address field contains a 
logical block address.  An MSF bit of one indicates the absolute CD-ROM 
address field contains an MSF address (see 13.1.5). 

  IMPLEMENTORS NOTE: The starting logical block address value recovered from 
  the TOC has a tolerance of zero for data tracks and plus or minus 75 CD 
  sectors for audio tracks.  This tolerance is multiplied by a factor 
  dependent on the logical block Length.   


13.3. Parameters for CD-ROM Devices

13.3.1. Diagnostic Parameters

  This section defines the descriptors and pages for diagnostic parameters 
used with CD-ROM devices. 

  The diagnostic page codes for CD-ROM devices are defined in Table 13-28.

                      Table 13-28: Diagnostic Page Codes

==============================================================================
  Page Code   Description                                           Section
------------------------------------------------------------------------------
   00h        Supported Diagnostic Pages                            7.3.1.1
01h - 3Fh     Reserved (for all device type pages)                 
40h - 7Fh     Reserved
80h - FFh     Vendor-specific pages
==============================================================================


13.3.2. Log Parameters

  This section defines the descriptors and pages for log parameters used with 
CD-ROM devices. 

  The log page codes for CD-ROM devices are defined in Table 13-29.












                                Table 13-29: Log Page Codes

==============================================================================
  Page Code   Description                                           Section
------------------------------------------------------------------------------
   01h        Buffer Over-Run/Under-Run Page                        7.3.2.1
   03h        Error Counter Page (Read) Page                        7.3.2.2
   07h        Last n Error Events Page                              7.3.2.3
   06h        Non-Medium Error Page                                 7.3.2.4
02h, 04h, 05h, 08h - 2Fh, 3Fh  Reserved                              
   00h        Supported Log Pages                                   7.3.2.5
30h - 3Eh     Vendor-specific pages
==============================================================================


13.3.3. Mode Parameters

  This section defines the descriptors and pages for mode parameters used with 
CD-ROM devices. 

  The mode parameter list, including the mode parameter header and mode block 
descriptor are defined in 7.3.3.

  The medium-type code field is contained in the mode parameter header (see 
Table 7-61 and 7-62).  Table 13-30 defines the medium type values for CD-ROM 
devices.


                       Table 13-30: CD-ROM Medium Type Codes

            ===================================================
             Code Value   Medium Type
            ------------  -------------------------------------
               00h        Default (only one type supported)
               01h        120 mm CD-ROM data only
               02h        120 mm CD-DA audio only
               03h        120 mm CD-ROM data and audio combined
               04h        Reserved
               05h        80 mm CD-ROM data only
               06h        80 mm CD-DA audio only
               07h        80 mm CD-ROM data and audio combined
            08h - 7Fh     Reserved
            80h - FFh     Vendor unique
            ===================================================

  The device specific parameter field is contained in the mode parameter 
header (see Table 7-61, (byte 2) and 7-62 (byte 3)).  Table 13-31 defines the 
device specific parameter field for CD-ROM devices.







                       Table 13-31: CD-ROM Device Specific Parameter

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
     |         Reserved         | Cache  |           Reserved       |  EBC   |
==============================================================================


  When used with the MODE SELECT command the cache bit is reserved.

  When used with a MODE SENSE command, a cache bit of zero indicates that the 
target does not contain a cache memory.  A cache bit of one indicates that the 
target contains a cache memory and supports the cache control bits (see 
8.2.6).

  The enable blank check (EBC) bit is reserved.

  The density code field is contained in the mode parameter block descriptor 
(see Table 7-63).  Table 13-32 defines the density code values for CD-ROM 
devices.


                             Table 13-32: CD-ROM Density Codes

     ===============================================================
      Code Value   Data types to be transferred 
     ------------  -------------------------------------------------
        00h        Default density code
        01h        User Data Only 
                     - 2048 Bytes per physical sector
        02h        User Data plus Auxiliary Data field 
                     - 2336 bytes per sector
        03h        4 Byte Tag Field, User Data plus Auxiliary Data
                     - 2340 bytes per sector
        04h        Audio Information Only 
                     - (1/75th of a second per logical block) 
     05h - 7Fh     Reserved
     80h - FFh     Vendor specific
     ===============================================================


  IMPLEMENTORS NOTE: The number of bytes per sector specified by this 
  parameter is used with the block Length to map CD-ROM sectors to logical 
  block addresses.









  The mode page codes for CD-ROM devices are defined in Table 13-33.

                               Table 13-33: Mode Page Codes

==============================================================================
  Page Code   Description                                           Section
------------------------------------------------------------------------------
   08h        Caching Page                                          8.3.3.1  
   0Eh        CD-ROM Audio Control Page                            13.3.3.1
   0Dh        CD-ROM Page                                          13.3.3.2
   0Ah        Control Mode Page                                     7.3.3.1
   02h        Disconnect-Reconnect Page                             7.3.3.2
   0Bh        Medium Types Supported Page                           8.3.3.4
   09h        Peripheral Device Page                                7.3.3.3
   01h        Read Error Recovery Page                             13.3.3.3
03h - 06h, 0Ch, 0Fh - 1Fh  Reserved
   3Fh        Returns all pages (valid only for the MODE SENSE command)
20h - 3Eh     Vendor Specific (page format required)
   07h        Verify Error Recovery Page                           13.3.3.4
==============================================================================



































13.3.3.1. CD-ROM Audio Control Parameters

                 Table 13-34: CD-ROM Audio Control Parameters Page

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |   PS   |Reserved|            Page Code (0Eh)                          |
-----|-----------------------------------------------------------------------|
 1   |                           Parameter Length (0Eh)                      |
-----|-----------------------------------------------------------------------|
 2   |                  Reserved                  | Immed  |  SOTC  |Reserved|
-----|-----------------------------------------------------------------------|
 3   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 4   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 5   | APRVal |         Reserved         |        Format of LBAs / Sec.      |
-----|-----------------------------------------------------------------------|
 6   | (MSB)                                                                 |
-----|---          Logical Blocks per Second of Audio Playback            ---|
 7   |                                                                  (LSB)|
-----|-----------------------------------------------------------------------|
 8   |              Reserved             |  Output Port 0 Channel Selection  |
-----|-----------------------------------------------------------------------|
 9   |                           Output Port 0 Volume                        |
-----|-----------------------------------------------------------------------|
 10  |              Reserved             |  Output Port 1 Channel Selection  |
-----|-----------------------------------------------------------------------|
 11  |                           Output Port 1 Volume                        |
-----|-----------------------------------------------------------------------|
 12  |              Reserved             |  Output Port 2 Channel Selection  |
-----|-----------------------------------------------------------------------|
 13  |                           Output Port 2 Volume                        |
-----|-----------------------------------------------------------------------|
 14  |              Reserved             |  Output Port 3 Channel Selection  |
-----|-----------------------------------------------------------------------|
 15  |                           Output Port 3 Volume                        |
==============================================================================


  The CD-ROM audio control parameters page (Table 13-34) sets the playback 
modes and output controls for subsequent PLAY AUDIO commands and any current 
audio playback operation. 

  The parameters savable (PS) bit is only used with the MODE SENSE command.  
This bit is reserved with the MODE SELECT command.  A PS bit of one indicates 
that the target is capable of saving the page in a non-volatile vendor-
specific location.

  An immediate (Immed) bit of zero indicates the target shall not send 
completion status until the audio playback operation is terminated.


  An Immed bit of one indicates the target shall send completion status as 
soon as the playback operation has been started.

  IMPLEMENTORS NOTE:  It is recommended that a Logical Unit type RESERVE be 
  issued prior to starting audio play operations with an Immed bit of one in 
  any multiple initiator environment. 

  A stop on track crossing (SOTC) bit of zero indicates the target shall 
terminate the audio playback operation when the transfer length is satisfied.  
Multiple tracks shall be played as necessary.  Periods of time encoded as 
audio pause/silence at the beginning of tracks, (index 0,) shall also be 
played. 

  A stop on track crossing (SOTC) bit of one indicates the target shall 
terminate the audio playback operation when the beginning of a following track 
is encountered. 

  The audio playback rate valid (APRVal) bit value of one indicates that the 
format of logical blocks per second field and the logical blocks per second of 
audio playback field are valid.

  The format of logical blocks addresses per second field gives the multiplier 
to be used with the logical blocks per second of audio playback, as defined in 
the following table:

     ===================================================================
       Format of LBAs / Sec value      Multiplier for LBAs / Sec field
     ------------------------------   ----------------------------------
                    0h                             1
                  1h - 7h                          Reserved
                    8h                             1/256
                  9h - Fh                          Reserved
     ===================================================================

  IMPLEMENTORS NOTE: This field is provided as a means to return fractional 
  (i.e., non-integral) values in the logical block addresses per second of 
  audio playback.  This shall occur when logical block sizes that are not even 
  multiples or divisions of the physical block size are used.

  The logical blocks per Second of Audio Playback field gives the relationship 
between time and the duration of play per logical block address. The value in 
this field is to be multiplied by the value in Format of LBAs per Second 
field. 

  IMPLEMENTORS NOTE: The logical blocks per second of audio playback field and 
  its companion format of LBAs per second field may not be supported by most 
  current CD-ROM devices as a modifiable mode select parameter. 

  The output port channel selection specifies the audio channels from the disc 
to which this output port should be connected.  See Table 13-35.  More than 
one output port may be connected to an audio channel.  More than one audio 
channel may be connected to an output port. 



                        Table 13-35: Output Port Channel Selection

                 =================================================
                 0000  output port muted
                 0001  connect audio channel 0 to this output port
                 0010  connect audio channel 1 to this output port
                 0100  connect audio channel 2 to this output port
                 1000  connect audio channel 3 to this output port
                 =================================================

  The channel volume control indicates the relative volume level for this  
audio output port. A value of zero indicates the output is muted, a value of 
FFh indicates maximum volume level.

  IMPLEMENTORS NOTE: If volume controls are implemented, the default volume 
  level should be no more than 25% of the maximum level as a personal safety 
  consideration.  


13.3.3.2. CD-ROM Device Parameters 

                        Table 13-36: CD-ROM Parameters Page
                     
==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |   PS   |Reserved|         Page Code (0Dh)                             |
-----|-----------------------------------------------------------------------|
 1   |                           Parameter Length (06h)                      |
-----|-----------------------------------------------------------------------|
 2   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 3   |             Reserved              |     Inactivity Timer Multiplier   |
-----|-----------------------------------------------------------------------|
 4   |                                                                       |
-----| - - -         Number of MSF - S Units per MSF - M Unit          - - - |
 5   |                                                                       |
-----|-----------------------------------------------------------------------|
 6   |                                                                       |
-----| - - -         Number of MSF - F Units per MSF - S Unit          - - - |
 7   |                                                                       |
==============================================================================


  The CD-ROM parameters page (Table 13-36) specifies parameters that affect 
all CD-ROM data types.

  The parameters savable (PS) bit is only used with the MODE SENSE command.  
This bit is reserved with the MODE SELECT command.  A PS bit of one indicates 
that the target is capable of saving the page in a non-volatile vendor-
specific location.



  The inactivity timer multiplier specifies the length of time that the drive 
shall remain in the hold track state after completion of a seek or read 
operation (see Table 13-37).

  IMPLEMENTORS NOTE: Higher values in this parameter may have an adverse 
  effect on the drive MTBF, in some implementations.

                  Table 13-37: Inactivity Timer Multiplier Values

=============================================================================
Inactivity Timer  Minimum Time in         Inactivity Timer  Minimum Time in  
   Multiplier     Hold Track State           Multiplier     Hold Track State 
----------------  ----------------        ----------------  ----------------
      0h           Vendor specific             8h            16 Seconds
      1h           125 milliseconds            9h            32 Seconds
      2h           250 milliseconds            Ah             1 Minute
      3h           500 milliseconds            Bh             2 Minutes
      4h             1 Second                  Ch             4 Minutes
      5h             2 Seconds                 Dh             8 Minutes
      6h             4 Seconds                 Eh            16 Minutes
      7h             8 Seconds                 Fh            32 Minutes
=============================================================================


  The number of S Units per M Unit field gives the ratio of these MSF address 
values. For media conforming to the CD-ROM and CD-DA standard, this value is 
60. 

  The number of F Units per S Unit field gives the ratio of these MSF address 
values. For media conforming to the CD-ROM and CD-DA standard, this value is 
75.
























13.3.3.3. Read Error Recovery Parameters 

                 Table 13-38: Read Error Recovery Parameters Page
                     
==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |   PS   |Reserved|                 Page Code (01h)                     |
-----|-----------------------------------------------------------------------|
 1   |                       Parameter Length (06h)                          |
-----|-----------------------------------------------------------------------|
 2   |                      Error Recovery Parameter                         |
-----|-----------------------------------------------------------------------|
 3   |                        Read Retry Count                               |
-----|-----------------------------------------------------------------------|
 4   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 5   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   |                           Reserved                                    |
==============================================================================


  The read error recovery parameters page (Table 13-38) specifies the error 
recovery parameters the target shall use during any command that performs a 
data read operation to the media (e.g., READ, READ TOC, etc.). 

  The parameters savable (PS) bit is only used with the MODE SENSE command.  
This bit is reserved with the MODE SELECT command.  A PS bit of one indicates 
that the target is capable of saving the page in a non-volatile vendor-
specific location.

  The Error Recovery Parameter bits are defined in 8.3.3.6. 

  IMPLEMENTORS NOTE: The implementation of error recovery procedures for CD-
  ROM devices is markedly different from those used for magnetic medium disk 
  drives.  At least one level of error correction (i.e. CIRC) is required to 
  transfer the data stream.  Therefore the performance of the drive may differ 
  substantially from what would be expected by sending the same error recovery 
  parameters to a magnetic medium device.

  The correlation of the error recovery parameter and the bit settings defined 
for CD-ROM devices is given in Table 13-39.  The interpretation of these bit 
settings for CD-ROM devices is given in Tables 13-40 through 13-45. If the 
error recovery parameter is set to any other value, the command shall be 
terminated with CHECK CONDITION status.  The sense key shall be set to ILLEGAL 
REQUEST and the additional sense code set to INVALID FIELD IN PARAMETER LIST.  

  The read retry count field specifies the number of times that the controller 
shall attempt its read recovery algorithm.  


                Table 13-39: Error Recovery Parameter Bit Settings
   
==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
  2  |        |        |   TB   |   RC   |        |  PER   |  DTE   |  DCR   |
Value|        |        |        |        |        |        |        |        |
==============================================================================
  00 |                     0        0                 0        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  01 |                     0        0                 0        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  04 |                     0        0                 1        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  05 |                     0        0                 1        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  06 |                     0        0                 1        1        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  07 |                     0        0                 1        1        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  10 |                     0        1                 0        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  11 |                     0        1                 0        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  14 |                     0        1                 1        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  15 |                     0        1                 1        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  20 |                     1        0                 0        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  21 |                     1        0                 0        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  24 |                     1        0                 1        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  25 |                     1        0                 1        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  26 |                     1        0                 1        1        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  27 |                     1        0                 1        1        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  30 |                     1        1                 0        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  31 |                     1        1                 0        0        1    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  34 |                     1        1                 1        0        0    |
-----+--------+--------+--------+--------+--------+--------+--------+--------|
  35 |                     1        1                 1        0        1    |
==============================================================================         

  NOTE: Reserved bits are not shown and shall be zero.





  A CIRC recovered data error is defined as a block for which the CIRC based 
error correction algorithm was unsuccessful for a read attempt, but on a 
subsequent read operation no error was reported. The number of subsequent read 
operations is limited to the read retry count. Layered error correction was 
not used.
        
  A CIRC unrecovered data error is defined as a block for which the CIRC based 
error correction algorithm was unsuccessful on all read attempts up to the 
read retry count. Layered error correction was not used. 
        
  An L-EC recovered data error is defined as a block for which the CIRC based 
error correction algorithm was unsuccessful but the layered error correction 
was able to correct the block within the read retry count.
        
  An L-EC uncorrectable data error is defined as a block which could not be 
corrected by layered error correction within the read retry count.







































              Table 13-40: CD-ROM Error Recovery Parameters 00h - 04h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 00h The maximum error recovery procedures available are used.  If an error 
     occurs which is uncorrectable with the error correction codes (ECC) on 
     the media, data transfer is terminated with CHECK CONDITION status. The 
     block with the error is not transferred. The sense key is set to MEDIUM 
     ERROR. The information bytes give the address of the block where the 
     unrecovered error was detected. Recovered errors are not reported.

 01h Only retries of the read operation and CIRC are used (layered error 
     correction is not used).  Only CIRC unrecovered data errors are reported. 
     If an CIRC unrecovered data error occurs, data transfer is terminated 
     with CHECK CONDITION status.  The block with the error is not 
     transferred. The sense key is set to MEDIUM ERROR. The information bytes 
     give the address of the block where the unrecovered error was detected. 
     Recovered errors are not reported.

 04h The maximum error recovery procedures available are used.  Recovered data 
     errors are reported.  If a recovered data error occurs, data transfer is 
     not terminated.   However, when the data transfer has completed CHECK 
     CONDITION status is reported.  The sense key is set to RECOVERED ERROR. 
     The information bytes give the address of the last block where a 
     recovered data error was detected.  

     If a data error occurs which is uncorrectable with the ECC information 
     available on the media, data transfer is terminated and CHECK CONDITION 
     status is reported. The block with the error is not transferred. The 
     sense key is set to MEDIUM ERROR. The information bytes give the address 
     of the block where the uncorrectable error was detected.

=============================================================================




















              Table 13-41: CD-ROM Error Recovery Procedures 05h - 07h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 05h Only retries of the read operation and CIRC are used (layered error 
     correction is not used).  Recovered data errors are reported.  If a 
     recovered data error occurs, data transfer is not terminated.  However, 
     when the data transfer has completed CHECK CONDITION status is reported.  
     The sense key is set to RECOVERED ERROR. The information bytes give the 
     address of the last block where a CIRC recovered data error was detected.

     If an unrecovered data error occurs data transfer is terminated and CHECK 
     CONDITION status is reported. The block with the error is not 
     transferred. The sense key is set to MEDIUM ERROR. The information bytes 
     give the address of the block where the unrecovered error was detected.

 06h The maximum error recovery procedures are used. Recovered data errors are 
     reported.  If a recovered data error occurs data transfer is terminated 
     and CHECK CONDITION status is reported.  The block with the recovered 
     error is not transferred. The sense key is set to RECOVERED ERROR. The 
     information bytes give the address of the block where the recovered data 
     error was detected.

     If a data error occurs which is uncorrectable with the ECC information on 
     the medium, data transfer is terminated with CHECK CONDITION status.  The 
     block with the error is not transferred.  The sense key is set to MEDIUM 
     ERROR. The information bytes give the address of the block where the 
     uncorrectable error was detected.

 07h Only retries of the read operation are used (layer error correction is 
     not used).  CIRC recovered data errors are reported.  If a CIRC recovered 
     data error occurs, data transfer is terminated with CHECK CONDITION 
     status.  The block with the recovered error is not transferred. The sense 
     key is set to RECOVERED ERROR. The information bytes give the address of 
     the block where the recovered data error was detected.

     If an CIRC unrecovered data error occurs, data transfer is terminated 
     with CHECK CONDITION status. The block with the error is not transferred. 
     The sense key is set to MEDIUM ERROR. The information bytes give the 
     address of the block where the unrecovered error was detected.

=============================================================================











              Table 13-42: CD-ROM Error Recovery Procedures 10h - 15h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 10h If data transfer can be maintained, the maximum error recovery procedures 
     available are used. (RC = 1.) If an error occurs which is uncorrectable 
     with the error correction codes (ECC) on the media, or is uncorrectable 
     in time to maintain data transfer, the data transfer is not terminated.  
     However, when the data transfer has completed CHECK CONDITION status is 
     reported.  The sense key is set to MEDIUM ERROR. The information bytes 
     give the address of the block where the first unrecovered error was 
     detected. Recovered errors are not reported.

 11h If data transfer can be maintained, retries of the read operation and 
     CIRC are used (layered error correction is not used). (RC = 1.) Only CIRC 
     unrecovered data errors are reported. If an CIRC unrecovered data error 
     occurs, data transfer is not terminated. However, when the data transfer 
     has completed CHECK CONDITION status is reported.  The sense key is set 
     to MEDIUM ERROR. The information bytes give the address of the block 
     where the first unrecovered error was detected. Recovered errors are not 
     reported.

 14h If data transfer can be maintained, the maximum error recovery procedures 
     available are used. (RC = 1.)  Recovered data errors are reported.  If a 
     recovered data error occurs, data transfer is not terminated.   However, 
     when the data transfer has completed CHECK CONDITION status is reported.  
     The sense key is set to RECOVERED ERROR. The information bytes give the 
     address of the block where a recovered data error was detected.  

     If an data error occurs which is uncorrectable with the ECC information 
     available on the media, or is uncorrectable in time to maintain data 
     transfer, the data transfer is not terminated.  However, when the data 
     transfer has completed CHECK CONDITION status is reported.  The sense key 
     is set to MEDIUM ERROR. The information bytes give the address of the 
     block where the first uncorrectable error was detected.  Reporting 
     unrecovered errors takes precedence over reporting recovered errors.

 15h If data transfer can be maintained, retries of the read operation and 
     CIRC are used (layered error correction is not used). (RC = 1.)  
     Recovered data errors are reported.  If a recovered data error occurs, 
     data transfer is not terminated.  However, when the data transfer has 
     completed CHECK CONDITION status is reported.  The sense key is set to 
     RECOVERED ERROR. The information bytes give the address of the block 
     where a CIRC recovered data error was detected.

     If an unrecovered data error occurs, data transfer is not terminated.  
     However, when the data transfer has completed CHECK CONDITION status is 
     reported.  The sense key is set to MEDIUM ERROR. The information bytes 
     give the address of the block where the first unrecovered error was 
     detected.  Reporting unrecovered errors takes precedence over reporting 
     recovered errors.

=============================================================================
              Table 13-43: CD-ROM Error Recovery Procedures 20h - 24h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 20h The maximum error recovery procedures available are used.  If an error 
     occurs which is uncorrectable with the error correction codes (ECC) on 
     the media, data transfer is terminated with CHECK CONDITION status. The 
     block with the error is transferred. The sense key is set to MEDIUM 
     ERROR. The information bytes give the address of the block where the 
     unrecovered error was detected. Recovered errors are not reported. 

 21h Only retries of the read operation and CIRC are used (layered error 
     correction is not used).  Only CIRC unrecovered data errors are reported. 
     If an CIRC unrecovered data error occurs data transfer is terminated with 
     CHECK CONDITION status. The block with the error is transferred. The 
     sense key is set to MEDIUM ERROR. The information bytes give the address 
     of the block where the unrecovered error was detected.  Recovered errors 
     are not reported.

 24h The maximum error recovery procedures available are used.  Recovered data 
     errors are reported.  If a recovered data error occurs data transfer is 
     not terminated.   However, when the data transfer has completed CHECK 
     CONDITION status is reported.  The sense key is set to RECOVERED ERROR. 
     The information bytes give the address of the last block where a 
     recovered data error was detected.  

     If a data error occurs which is uncorrectable with the ECC information 
     available on the media data transfer is terminated and CHECK CONDITION 
     status is reported. The block with the error is transferred. The sense 
     key is set to MEDIUM ERROR. The information bytes give the address of the 
     block where the uncorrectable error was detected.

==============================================================================




















              Table 13-44: CD-ROM Error Recovery Procedures 25h - 27h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 25h Only retries of the read operation and CIRC are used (layered error 
     correction is not used).  Recovered data errors are reported.  If a 
     recovered data error occurs, data transfer is not terminated.  However, 
     when the data transfer has completed CHECK CONDITION status is reported.  
     The sense key is set to RECOVERED ERROR. The information bytes give the 
     address of the last block where an CIRC recovered data error was 
     detected.

     If an unrecovered data error occurs, data transfer is terminated and 
     CHECK CONDITION status is reported. The block with the error is 
     transferred. The sense key is set to MEDIUM ERROR. The information bytes 
     give the address of the block where the unrecovered error was detected.

 26h The maximum error recovery procedures are used. Recovered data errors are 
     reported.  If a recovered data error occurs, data transfer is terminated 
     and CHECK CONDITION status is reported.  The block with the recovered 
     error is transferred. The sense key is set to RECOVERED ERROR. The 
     information bytes give the address of the block where the recovered data 
     error was detected.

     If a data error occurs which is uncorrectable with the ECC information on 
     the media, data transfer is terminated with CHECK CONDITION status. The 
     block with the error is transferred. The sense key is set to MEDIUM 
     ERROR. The information bytes give the address of the block where the 
     uncorrectable error was detected.

 27h Only retries of the read operation are used (layer error correction is 
     not used).  CIRC recovered data errors are reported.  If a CIRC recovered 
     data error occurs, data transfer is terminated with CHECK CONDITION 
     status.  The block with the recovered error is transferred. The sense key 
     is set to RECOVERED ERROR. The information bytes give the address of the 
     block where the recovered data error was detected.

     If an CIRC unrecovered data error occurs, data transfer is terminated 
     with CHECK CONDITION status. The block with the error is transferred. The 
     sense key is set to MEDIUM ERROR. The information bytes give the address 
     of the block where the unrecovered error was detected.

==============================================================================











              Table 13-45: CD-ROM Error Recovery Procedures 30h - 35h

==============================================================================
Error Recovery Description   
------------------------------------------------------------------------------

 30h  Same as code 10H.

 31h  Same as code 11H.

 34h  Same as code 14H.

 35h  Same as code 15H.

=============================================================================


13.3.3.4. Verify Error Recovery Parameters

                Table 13-46: Verify Error Recovery Parameters Page

==============================================================================
  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
Byte |        |        |        |        |        |        |        |        |
==============================================================================
 0   |   PS   |Reserved|                  Page Code (07h)                    |
-----|-----------------------------------------------------------------------|
 1   |                      Parameter Length (06h)                           |
-----|-----------------------------------------------------------------------|
 2   |                    Error Recovery Parameter                           |
-----|-----------------------------------------------------------------------|
 3   |                       Verify Retry Count                              |
-----|-----------------------------------------------------------------------|
 4   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 5   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 6   |                           Reserved                                    |
-----|-----------------------------------------------------------------------|
 7   |                           Reserved                                    |
==============================================================================


  The verify error recovery parameters page (Table 13-46) specifies the error 
recovery parameter the target shall use during verify operations. 

  The parameters savable (PS) bit is only used with the MODE SENSE command.  
This bit is reserved with the MODE SELECT command.  A PS bit of one indicates 
that the target is capable of saving the page in a non-volatile vendor-
specific location.

  The error recovery parameters for verify operations are as defined by the 
read error recovery parameters (see 13.3.3.3).


13.4. Glossary for CD-ROM Devices

absolute F field.  The sub-division of the S Field part of the absolute 
physical address from the beginning of the media.  One physical sector.  
Written on CD-ROM media in binary coded decimal notation.  The value is from 
00bcd to 74bcd. (See MSF Address, Frame.)  

absolute M field.  The most significant part of the absolute physical address 
from the beginning of the media. Written on CD-ROM media in binary coded 
decimal notation.  The value is from 00bcd to 74bcd.  (See MSF Address.)

absolute S field.  The intermediate significant part of the absolute physical 
address from the beginning of the media.  Written on CD-ROM media in binary 
coded decimal notation.  The value is from 00bcd to 59bcd.  (See MSF Address.)

bcd.  Binary Coded Decimal is the number system used on the physical CD-ROM 
and CD-DA media.  Numbers that use this notation have the 'bcd' suffix 
attached. A byte has two four-bit values each of which can have a value from 0 
to 9.  The maximum value is 99bcd (99 decimal).  Hence the maximum number of 
tracks is 99bcd.  

       Example: 00 01 02 03 ... 08 09 10 11 ... 19 20 21 ... 98 99. 

block.  The term block refers to the data in one logical block - the number of 
bytes defined by the logical block length in the mode block descriptor.

blocks per sector.  The number of logical blocks read from each CD-ROM 
physical sector. The value depends on the logical block Length as defined in 
the mode block descriptor.  The value for blocks per sector is:
                      1 if the logical block Length is 2048, 
                      2 if the logical block Length is 1024,
                      4 if the logical block Length is 512, and
                      8 if the logical block Length is 256 bytes.
       (Assuming a density code of 1 - 2048 bytes of data per sector.)

CD-DA.  Compact Disc - Digital Audio.  The standardized media for recording 
digital audio information.  The 'Red Book' defines CD-DA media.

CD-ROM.  Compact Disc - Read Only Memory.  CD-ROM is a standardized medium for 
recording digitized audio and digital data.   CD-ROM is used to describe media 
with digital data rather than discs which encode audio only.  The 'Yellow 
Book' defines CD-ROM media.

CD-ROM control field.  A four bit field in the Q sub-channel data indicating 
the type of information encoded on the current track.  Indicates audio versus 
data and the type of audio encoding, etc.  The control field is also found in 
the Table of Contents entries.  See Table 13-22.

CD-ROM data mode.  A byte in the header of CD-ROM data sectors.  This 
indicates if data is present and if layered error correction information is 
present.  See Table 13-16.



CIRC.  Cross Interleaved Reed-Solomon Code.  The error detection and 
correction technique used within small frames of audio or data.  The CIRC 
bytes are present in all CD-ROM Data Modes.  The error correction procedure 
which uses the CIRC bytes is referred to as the CIRC based algorithm.  In most 
CD-ROM drives, this function is implemented in hardware.  

frame.  A physical sector on CD-ROM media.  Also the F field unit of a MSF CD-
ROM address.  The term frame is also used in the CD-ROM model to describe the 
amount of data received between synchronization patterns. 98 of these frames 
make a sector.  This sort of frame is referred to as 'small frames' where the 
meaning is not clear from context.

hold track state.  When a CD-ROM device enters the hold track state the 
optical pick-up is maintained at an approximately constant position on the 
media.  This allows a paused operation to be resumed without latency due to 
seeking.  Rotational latency may be incurred, however.

index.  Index Number.  An index is a subdivision of a CD-ROM track.  A track 
can have from 1 to 99 index numbers.  Index numbers within a track are 
sequential starting with 1. 

lead-in area.  The area on a CD-ROM disc prior to track one.  The main channel 
in the lead-in area contains audio or data null information.  This area is 
coded as track zero but is not addressable via the SCSI command set.  The Q 
sub-channel in this area is coded with the table of contents information.

lead-out area.  The area on a CD-ROM disc beyond the last information track.  
The main channel in the lead-out area contains audio or data null information.  
This area is coded as track AAbcd but is not addressable via the SCSI command 
set.  The READ CD-ROM CAPACITY data is the first logical block address of this 
area minus one.

L-EC.  Layered Error Correction.  The error correction technique used with CD-
ROM Data Mode one sectors.  In such sectors, 276 bytes of the auxiliary data 
field contain L-EC bytes.  The algorithm which uses these bytes to perform 
error correction is often implemented in the drive firmware. 

MSF Address.   M Field / S Field / F Field.  The physical address written on 
CD-ROM discs.  Expressed as a sector count relative to either the beginning of 
the medium (absolute) or to the beginning of the current track (relative). As 
defined by the CD-DA and CD-ROM standards, each F field unit is one physical 
sector; each S field unit is 75 F field units; each M field unit is 60 S field 
units.  Valid contents of F fields are binary values from 0 through 74.  Valid 
contents of S fields are binary values from 0 through 59.  Valid contents of M 
fields are binary values from 0 through 74. 

output port.  A means for connecting the audio signal being played to 
equipment outside the CD-ROM device.

pause area.  A transition area at the beginning or end of an audio track 
encoded with audio silence.  This transition area is required where the audio 
track immediately precedes a data track.



post-gap area.  A transition area at the end of a data track encoded with null 
information.  This transition area is required where the data track 
immediately precedes an audio track.

pre-gap area.  A transition area at the beginning of a data track encoded with 
null information.  This transition area is required where the data track 
immediately follows an audio track.

Red Book.  Compact disc digital audio (CD-DA) media standard. Defines the 
media formats and facilities to support the recording of digitized audio 
information.

relative F field.  The sub-division of the S field part of the relative 
physical address from the beginning of the current track.  One physical 
sector.  Written on CD-ROM medium in binary coded decimal notation.  The value 
is from 00bcd to 74bcd.  (See MSF Address, Frame.)  

relative M field.  The most significant part of the relative physical address 
from the beginning of the current track.  Written on CD-ROM media in binary 
coded decimal notation.  The value is from 00bcd to 74bcd.  (See MSF Address.)

relative S field.  The intermediate significant part of the relative physical 
address from the beginning of the current track.  Written on CD-ROM medium in 
binary coded decimal notation.  The value is from 00bcd to 59bcd.  (See MSF 
Address.)

sector.  Refers to the data contained during one frame time.  (On CD-DA medium 
with two channels of audio this is 1/75th of a second).  In the CD-ROM 
standard document the term block is used for this unit.  There may be more 
than one logical block per sector.  Similarly, a single logical block may map 
to multiple sectors.

sub-channel.  CD-ROM and CD-DA media have a main channel and a sub-channel.  
The sub-channel area has eight parts called P, Q, R, S, T, U, V, and W.  The 
Q-sub-channel contains information useful to the controller and drive, such as 
the control field and MSF addresses.  The data rate of each sub-channel (P, Q, 
etc.) is 1/192nd of that of the main channel.

TOC.  The table of contents has information on the type of disc and the 
starting address of the tracks.  This information is encoded in the Q sub-
channel.  

track.  Track Number.  A track is a sub-division of the CD-ROM media. A disc 
has from one to ninety-nine tracks.  The data within a track is always of the 
same type.  A track can contain be either CD-ROM or CD-Audio.  A disc can 
start at any track number.

track relative logical address.  An offset from the beginning of the recorded 
information on a track expressed in units of the logical block length.  The 
value is used to address logical blocks relative to the beginning of a track 
using the relative MSF address encoded in the CD-ROM Q sub-channel.




transition area.  Sectors at the beginning or end of tracks coded with null 
information.  Where required by the media standards, these areas have minimum 
lengths of 1 or 2 seconds.  The maximum lengths are not specified.  Transition 
areas at the beginning of a track are encoded with Index zero.  Addresses 
within transition areas may not be read.

Yellow Book.  A standard (IEC 108) which defines CD-ROM media. The Yellow Book 
defines the media formats and facilities that support the recording of digital 
data on Compact Disc media.